package cst.a228htt.recyclerviewtest228htt;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import java.util.List;

/**
 * Created by Administrator on 2017/5/12 0012.
 */

public class MyAdapter extends RecyclerView.Adapter <MyAdapter.ViewHolder>{
    private List<ArticleBean>list;
    private Context context;
    private LayoutInflater layoutInflater;//设置布局
    //设置构造器
    public MyAdapter(Context context) {
        this.context = context;
    }
    //设置布局
    public void setList(List<ArticleBean>list){
        this.list=list;
    }
    //重写，为每个item生成一个View
    @Override
    public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        //inflate第一个参数要加载的布局id，第二个参数是指给该布局的外部再嵌套一层父布局，如果不需要就直接传null
        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item, parent, false);
        return new ViewHolder(v);
        //return null;
    }
    //重写，给各个item填充数据
    @Override
    public void onBindViewHolder(MyAdapter.ViewHolder holder, final int position) {
        ArticleBean article = list.get(position);
        if (article == null)  return;
        ViewHolder viewholder = (ViewHolder) holder;
        viewholder.imageView.setImageResource(article.getImgid());
        viewholder.tvtitle.setText(article.getTitle());
        viewholder.tvdescript.setText(article.getDescription());
        viewholder.tvtime.setText(article.getTime());
        //条目中按钮监听事件
        viewholder.button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                list.remove(position);
                notifyDataSetChanged();
            }
        });
        //条目中点击监听事件
        viewholder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String strid=String.valueOf(list.get(position).getArticleId());
                Toast.makeText(context,strid,Toast.LENGTH_SHORT).show();
            }
        });
    }
    //重写，确定条目个数
    @Override
    public int getItemCount() {
        return list.size();
    }
    //ViewHolder子类，容纳item视图
    public class ViewHolder extends RecyclerView.ViewHolder {
        ImageView  imageView;
        TextView tvtitle, tvdescript, tvtime;
        Button button;
        public ViewHolder(View itemView) {
            super(itemView);
            imageView=(ImageView)itemView.findViewById(R.id.imageView);
            tvtitle=(TextView)itemView.findViewById(R.id.textView);
            tvdescript=(TextView)itemView.findViewById(R.id.textView2);
            tvtime=(TextView)itemView.findViewById(R.id.textView3);
            button=(Button)itemView.findViewById(R.id.button);
        }
    }
}
